import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.net.InetAddress;
import java.util.ArrayList;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Panel extends JPanel {
	
	int choixServer = 0;
	JLabel IPLabel, portLabel, nomLabel, typeLabel, modeLabel, nbPlaceLabel, nbPlaceDispoLabel;
	public String IP;
	String nom, type, mode;
	int port, nbPlace, nbPlaceDispo;
	
	public Panel() {
		
	}
	
	public Panel(ArrayList<PosteServeur> listeServer) {
		this.setBackground(Color.white);
		this.setPreferredSize(new Dimension(220, 60));
		this.setBorder(BorderFactory.createTitledBorder("Informations Serveur"));
		this.setLayout(new GridLayout(8,1));
		
		this.init(listeServer.get(choixServer));
				
		IPLabel = new JLabel("IP : " +getIP());
		this.add(IPLabel);
		portLabel = new JLabel("Port : " +getPort());
		this.add(portLabel);
		nomLabel = new JLabel("Createur : " +getNom());
		this.add(nomLabel);
		typeLabel = new JLabel("Type de partie : " +getType());
		this.add(typeLabel);
		modeLabel = new JLabel("Mode de jeu du createur : " +getMode());
		this.add(modeLabel);
		nbPlaceLabel = new JLabel("Nombre de place(s) : " +getNbPlace());
		this.add(nbPlaceLabel);
		nbPlaceDispoLabel = new JLabel("Nombre de place(s) disponible(s) : " +getNbPlaceDispo());
		this.add(nbPlaceDispoLabel);
	}
	
	public void setChoixServer(int choix) {this.choixServer = choix;}
	
	public int getChoixServer() {return choixServer;}
	public String getIP() {return IP;}
	public String getNom() {return nom;}
	public String getType() {return type;}
	public String getMode() {return mode;}
	public int getPort() {return port;}
	public int getNbPlace() {return nbPlace;}
	public int getNbPlaceDispo() {return nbPlaceDispo;}
	
	
	public void afficher() {
		System.out.print("IP : " +this.getIP()+ "\nPort : " +this.getPort()+ "\nCreateur : " +this.nom+ "\n");
		System.out.print("Type : " +this.getType()+ "\nMode : " +this.getMode()+ "\nnbplace : " +this.getNbPlace());
		System.out.print("\nnbplacedispo : " +this.getNbPlaceDispo()+ "\n");
	}
	
	public void init(PosteServeur serveur) {
		this.IP = serveur.getServerIP();
		this.nom = serveur.getCreateur();
		this.type = serveur.getType();
		this.mode = serveur.getMode();
		this.port = serveur.getServerPort();
		this.nbPlace = serveur.getNbplace();
		this.nbPlaceDispo = serveur.getNbplaceDispo();
		
	}
}
